$(function () {
    // 需求1,点击a链接显示隐藏
    $('#loginBox  a').click(() => {
        // 点击a链接显示别人,隐藏自己
        $('#regBox').show()
        $('#loginBox').hide()
    })
    $('#regBox  a').click(() => {
        // 点击a链接显示别人,隐藏自己
        $('#loginBox').show()
        $('#regBox').hide()
    })

    // 需求2.正则表单验证
    let form = layui.form;
    form.verify({
        username: function (value, item) { //value：表单的值、item：表单的DOM对象
            if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
                return '用户名不能有特殊字符';
            }
            if (/(^\_)|(\__)|(\_+$)/.test(value)) {
                return '用户名首尾不能出现下划线\'_\'';
            }
            if (/^\d+\d+\d$/.test(value)) {
                return '用户名不能全为数字';
            }

            //如果不想自动弹出默认提示框，可以直接返回 true，这时你可以通过其他任意方式提示（v2.5.7 新增）
            if (value === 'xxx') {
                alert('用户名不能为敏感词');
                return true;
            }
        }

        //我们既支持上述函数式的方式，也支持下述数组的形式
        //数组的两个值分别代表：[正则匹配、匹配不符时的提示文字]
        , pass: [
            /^[\S]{6,12}$/
            , '密码必须6到12位，且不能出现空格'
        ],
        repwd: function (value) {

            let pwd = $('#regBox input[name=password]').val()
            if (pwd != value) {
                return ('密码不一致,请重新输入!')
            }
        }
    });

    // 需求3.注册功能
    let layer = layui.layer
    $('#formReg').on('submit', function (e) {
        // 阻止默认行为
        e.preventDefault()
        // 发送axios
        axios({
            method: 'POST',
            url: '/api/reguser',
            data: $(this).serialize()
        }).then(function (res) {

            if (res.data.status != 0) {
                return layer.msg(res.data.message)

            }
            layer.msg(res.data.message)
            // 调用点击事件切换窗口
            $('#regBox  a').click()
            $('#formReg')[0].reset()
            $('#formlogin')[0].reset()
        })


    })

    // 需求4.登录功能

    $('#formlogin').on('submit', function (e) {
        e.preventDefault()

        // 发送axios
        axios({
            method: 'POST',
            url: '/api/login',
            data: $(this).serialize(),

        }).then(function (res) {

            if (res.data.status != 0) {
                return layer.msg(res.data.message)

            }
            layer.msg(res.data.message)

            localStorage.setItem('token', res.data.token)
            location.href = '/index.html'

        })
    })



})